#include"tcpServer.hpp"
#include<memory>



//走到这里就是外部调用错误，没有传应该传的参数进来, 这里就提示一下
static void Usage(string proc)
{
    cout << "Usage: \n" << proc << "local_port\n";
}

//和之前udp的server进程调用一样，要穿port
// ./tcpServer port
int main(int argc, char* argv[])
{
    if(argc != 2) //必须得是2个元素，进程名，port。【这是命令行参数的知识，忘了就复习】
    {
        Usage(argv[0]);
        exit(USAGE_ERR);
    }
    // 将argv中char*类型的port记载下来
    uint16_t port = atoi(argv[1]); //必须转成int类型，因为argv里面全是char*类型的元素
    
    unique_ptr<tcpServer> ts(new tcpServer(port));
    ts->InitServer();  //初始化服务器

    daemonSelf(); // 将服务器进程变成守护进程

    ts->Start(); //然后再启动服务器

    return 0;
}